#ifndef PUSH_REQUEST_MESSAGE_H_
#define PUSH_REQUEST_MESSAGE_H_

#include "ariba/ariba.h"
#include "../../FileInfo.h"

using_serialization;


class PushRequestMessage  : public ariba::Message
{
	VSERIALIZEABLE;
public:
	/// Default constructor, required for automatic de-serialization
	PushRequestMessage();

	/// Convenient constructor for setting up a new chat message object
	PushRequestMessage(FilePtr file);

//	/// Copy constructor
//	TransferNegotiationMessage(TransferNegotiationMessage &other);

//	/// Default destructor
//	virtual ~TransferNegotiationMessage();


	string get_key();
	string get_file_name();
	uint64_t get_size();


private:
	string key;
	string file_name;
	uint64_t size;
};

sznBeginDefault(PushRequestMessage, X)
{
    X && T(key) && T(file_name) && size;
} sznEnd();

#endif /* PUSH_REQUEST_MESSAGE_H_ */
